import __clrclasses__.System.CodeDom.Compiler as Compiler
from __clrclasses__.System import Type as _n_0_t_0
from __clrclasses__.System import Array as _n_0_t_1
from __clrclasses__.System import Enum as _n_0_t_2
from __clrclasses__.System import IComparable as _n_0_t_3
from __clrclasses__.System import IFormattable as _n_0_t_4
from __clrclasses__.System import IConvertible as _n_0_t_5
from __clrclasses__.System import Guid as _n_0_t_6
from __clrclasses__.System import Byte as _n_0_t_7
from __clrclasses__.System import EventHandler as _n_0_t_8
from __clrclasses__.System.Collections import CollectionBase as _n_1_t_0
from __clrclasses__.System.Collections import IList as _n_1_t_1
from __clrclasses__.System.Collections import IDictionary as _n_1_t_2
from __clrclasses__.System.Collections.Specialized import StringCollection as _n_2_t_0
from __clrclasses__.System.Reflection import TypeAttributes as _n_3_t_0
import typing
class CodeArgumentReferenceExpression(CodeExpression):
    @property
    def ParameterName(self) -> str:"""ParameterName { get; set; } -> str"""
    def __init__(self, parameterName: str) -> CodeArgumentReferenceExpression:...
    def __init__(self) -> CodeArgumentReferenceExpression:...
class CodeArrayCreateExpression(CodeExpression):
    @property
    def CreateType(self) -> CodeTypeReference:"""CreateType { get; set; } -> CodeTypeReference"""
    @property
    def Initializers(self) -> CodeExpressionCollection:"""Initializers { get; } -> CodeExpressionCollection"""
    @property
    def Size(self) -> int:"""Size { get; set; } -> int"""
    @property
    def SizeExpression(self) -> CodeExpression:"""SizeExpression { get; set; } -> CodeExpression"""
    def __init__(self, createType: _n_0_t_0, size: CodeExpression) -> CodeArrayCreateExpression:...
    def __init__(self, createType: str, size: CodeExpression) -> CodeArrayCreateExpression:...
    def __init__(self, createType: CodeTypeReference, size: CodeExpression) -> CodeArrayCreateExpression:...
    def __init__(self, createType: str, size: int) -> CodeArrayCreateExpression:...
    def __init__(self, createType: CodeTypeReference, size: int) -> CodeArrayCreateExpression:...
    def __init__(self, createType: _n_0_t_0, initializers: _n_0_t_1[CodeExpression]) -> CodeArrayCreateExpression:...
    def __init__(self, createType: str, initializers: _n_0_t_1[CodeExpression]) -> CodeArrayCreateExpression:...
    def __init__(self, createType: CodeTypeReference, initializers: _n_0_t_1[CodeExpression]) -> CodeArrayCreateExpression:...
    def __init__(self) -> CodeArrayCreateExpression:...
    def __init__(self, createType: _n_0_t_0, size: int) -> CodeArrayCreateExpression:...
class CodeArrayIndexerExpression(CodeExpression):
    @property
    def Indices(self) -> CodeExpressionCollection:"""Indices { get; } -> CodeExpressionCollection"""
    @property
    def TargetObject(self) -> CodeExpression:"""TargetObject { get; set; } -> CodeExpression"""
    def __init__(self, targetObject: CodeExpression, indices: _n_0_t_1[CodeExpression]) -> CodeArrayIndexerExpression:...
    def __init__(self) -> CodeArrayIndexerExpression:...
class CodeAssignStatement(CodeStatement):
    @property
    def Left(self) -> CodeExpression:"""Left { get; set; } -> CodeExpression"""
    @property
    def Right(self) -> CodeExpression:"""Right { get; set; } -> CodeExpression"""
    def __init__(self, left: CodeExpression, right: CodeExpression) -> CodeAssignStatement:...
    def __init__(self) -> CodeAssignStatement:...
class CodeAttachEventStatement(CodeStatement):
    @property
    def Event(self) -> CodeEventReferenceExpression:"""Event { get; set; } -> CodeEventReferenceExpression"""
    @property
    def Listener(self) -> CodeExpression:"""Listener { get; set; } -> CodeExpression"""
    def __init__(self, targetObject: CodeExpression, eventName: str, listener: CodeExpression) -> CodeAttachEventStatement:...
    def __init__(self, eventRef: CodeEventReferenceExpression, listener: CodeExpression) -> CodeAttachEventStatement:...
    def __init__(self) -> CodeAttachEventStatement:...
class CodeAttributeArgument(object):
    @property
    def Name(self) -> str:"""Name { get; set; } -> str"""
    @property
    def Value(self) -> CodeExpression:"""Value { get; set; } -> CodeExpression"""
    def __init__(self, name: str, value: CodeExpression) -> CodeAttributeArgument:...
    def __init__(self, value: CodeExpression) -> CodeAttributeArgument:...
    def __init__(self) -> CodeAttributeArgument:...
class CodeAttributeArgumentCollection(_n_1_t_0, _n_1_t_1, typing.Iterable[CodeAttributeArgument]):
    def __init__(self, value: _n_0_t_1[CodeAttributeArgument]) -> CodeAttributeArgumentCollection:...
    def __init__(self, value: CodeAttributeArgumentCollection) -> CodeAttributeArgumentCollection:...
    def __init__(self) -> CodeAttributeArgumentCollection:...
    def AddRange(self, value: CodeAttributeArgumentCollection):...
    def AddRange(self, value: _n_0_t_1[CodeAttributeArgument]):...
class CodeAttributeDeclaration(object):
    @property
    def Arguments(self) -> CodeAttributeArgumentCollection:"""Arguments { get; } -> CodeAttributeArgumentCollection"""
    @property
    def AttributeType(self) -> CodeTypeReference:"""AttributeType { get; } -> CodeTypeReference"""
    @property
    def Name(self) -> str:"""Name { get; set; } -> str"""
    def __init__(self, attributeType: CodeTypeReference) -> CodeAttributeDeclaration:...
    def __init__(self, name: str, arguments: _n_0_t_1[CodeAttributeArgument]) -> CodeAttributeDeclaration:...
    def __init__(self, name: str) -> CodeAttributeDeclaration:...
    def __init__(self) -> CodeAttributeDeclaration:...
    def __init__(self, attributeType: CodeTypeReference, arguments: _n_0_t_1[CodeAttributeArgument]) -> CodeAttributeDeclaration:...
class CodeAttributeDeclarationCollection(_n_1_t_0, _n_1_t_1, typing.Iterable[CodeAttributeDeclaration]):
    def __init__(self, value: _n_0_t_1[CodeAttributeDeclaration]) -> CodeAttributeDeclarationCollection:...
    def __init__(self, value: CodeAttributeDeclarationCollection) -> CodeAttributeDeclarationCollection:...
    def __init__(self) -> CodeAttributeDeclarationCollection:...
    def AddRange(self, value: CodeAttributeDeclarationCollection):...
    def AddRange(self, value: _n_0_t_1[CodeAttributeDeclaration]):...
class CodeBaseReferenceExpression(CodeExpression):
    def __init__(self) -> CodeBaseReferenceExpression:...
class CodeBinaryOperatorExpression(CodeExpression):
    @property
    def Left(self) -> CodeExpression:"""Left { get; set; } -> CodeExpression"""
    @property
    def Operator(self) -> CodeBinaryOperatorType:"""Operator { get; set; } -> CodeBinaryOperatorType"""
    @property
    def Right(self) -> CodeExpression:"""Right { get; set; } -> CodeExpression"""
    def __init__(self, left: CodeExpression, op: CodeBinaryOperatorType, right: CodeExpression) -> CodeBinaryOperatorExpression:...
    def __init__(self) -> CodeBinaryOperatorExpression:...
class CodeBinaryOperatorType(_n_0_t_2, _n_0_t_3, _n_0_t_4, _n_0_t_5):
    Add: int
    Assign: int
    BitwiseAnd: int
    BitwiseOr: int
    BooleanAnd: int
    BooleanOr: int
    Divide: int
    GreaterThan: int
    GreaterThanOrEqual: int
    IdentityEquality: int
    IdentityInequality: int
    LessThan: int
    LessThanOrEqual: int
    Modulus: int
    Multiply: int
    Subtract: int
    value__: int
    ValueEquality: int
class CodeCastExpression(CodeExpression):
    @property
    def Expression(self) -> CodeExpression:"""Expression { get; set; } -> CodeExpression"""
    @property
    def TargetType(self) -> CodeTypeReference:"""TargetType { get; set; } -> CodeTypeReference"""
    def __init__(self, targetType: _n_0_t_0, expression: CodeExpression) -> CodeCastExpression:...
    def __init__(self, targetType: str, expression: CodeExpression) -> CodeCastExpression:...
    def __init__(self, targetType: CodeTypeReference, expression: CodeExpression) -> CodeCastExpression:...
    def __init__(self) -> CodeCastExpression:...
class CodeCatchClause(object):
    @property
    def CatchExceptionType(self) -> CodeTypeReference:"""CatchExceptionType { get; set; } -> CodeTypeReference"""
    @property
    def LocalName(self) -> str:"""LocalName { get; set; } -> str"""
    @property
    def Statements(self) -> CodeStatementCollection:"""Statements { get; } -> CodeStatementCollection"""
    def __init__(self, localName: str, catchExceptionType: CodeTypeReference, statements: _n_0_t_1[CodeStatement]) -> CodeCatchClause:...
    def __init__(self, localName: str, catchExceptionType: CodeTypeReference) -> CodeCatchClause:...
    def __init__(self, localName: str) -> CodeCatchClause:...
    def __init__(self) -> CodeCatchClause:...
class CodeCatchClauseCollection(_n_1_t_0, _n_1_t_1, typing.Iterable[CodeCatchClause]):
    def __init__(self, value: _n_0_t_1[CodeCatchClause]) -> CodeCatchClauseCollection:...
    def __init__(self, value: CodeCatchClauseCollection) -> CodeCatchClauseCollection:...
    def __init__(self) -> CodeCatchClauseCollection:...
    def AddRange(self, value: CodeCatchClauseCollection):...
    def AddRange(self, value: _n_0_t_1[CodeCatchClause]):...
class CodeChecksumPragma(CodeDirective):
    @property
    def ChecksumAlgorithmId(self) -> _n_0_t_6:"""ChecksumAlgorithmId { get; set; } -> Guid"""
    @property
    def ChecksumData(self) -> _n_0_t_1[_n_0_t_7]:"""ChecksumData { get; set; } -> Array"""
    @property
    def FileName(self) -> str:"""FileName { get; set; } -> str"""
    def __init__(self, fileName: str, checksumAlgorithmId: _n_0_t_6, checksumData: _n_0_t_1[_n_0_t_7]) -> CodeChecksumPragma:...
    def __init__(self) -> CodeChecksumPragma:...
class CodeComment(CodeObject):
    @property
    def DocComment(self) -> bool:"""DocComment { get; set; } -> bool"""
    @property
    def Text(self) -> str:"""Text { get; set; } -> str"""
    def __init__(self, text: str, docComment: bool) -> CodeComment:...
    def __init__(self, text: str) -> CodeComment:...
    def __init__(self) -> CodeComment:...
class CodeCommentStatement(CodeStatement):
    @property
    def Comment(self) -> CodeComment:"""Comment { get; set; } -> CodeComment"""
    def __init__(self, text: str, docComment: bool) -> CodeCommentStatement:...
    def __init__(self, text: str) -> CodeCommentStatement:...
    def __init__(self, comment: CodeComment) -> CodeCommentStatement:...
    def __init__(self) -> CodeCommentStatement:...
class CodeCommentStatementCollection(_n_1_t_0, _n_1_t_1, typing.Iterable[CodeCommentStatement]):
    def __init__(self, value: _n_0_t_1[CodeCommentStatement]) -> CodeCommentStatementCollection:...
    def __init__(self, value: CodeCommentStatementCollection) -> CodeCommentStatementCollection:...
    def __init__(self) -> CodeCommentStatementCollection:...
    def AddRange(self, value: CodeCommentStatementCollection):...
    def AddRange(self, value: _n_0_t_1[CodeCommentStatement]):...
class CodeCompileUnit(CodeObject):
    @property
    def AssemblyCustomAttributes(self) -> CodeAttributeDeclarationCollection:"""AssemblyCustomAttributes { get; } -> CodeAttributeDeclarationCollection"""
    @property
    def EndDirectives(self) -> CodeDirectiveCollection:"""EndDirectives { get; } -> CodeDirectiveCollection"""
    @property
    def Namespaces(self) -> CodeNamespaceCollection:"""Namespaces { get; } -> CodeNamespaceCollection"""
    @property
    def ReferencedAssemblies(self) -> _n_2_t_0:"""ReferencedAssemblies { get; } -> StringCollection"""
    @property
    def StartDirectives(self) -> CodeDirectiveCollection:"""StartDirectives { get; } -> CodeDirectiveCollection"""
    def __init__(self) -> CodeCompileUnit:...
class CodeConditionStatement(CodeStatement):
    @property
    def Condition(self) -> CodeExpression:"""Condition { get; set; } -> CodeExpression"""
    @property
    def FalseStatements(self) -> CodeStatementCollection:"""FalseStatements { get; } -> CodeStatementCollection"""
    @property
    def TrueStatements(self) -> CodeStatementCollection:"""TrueStatements { get; } -> CodeStatementCollection"""
    def __init__(self, condition: CodeExpression, trueStatements: _n_0_t_1[CodeStatement], falseStatements: _n_0_t_1[CodeStatement]) -> CodeConditionStatement:...
    def __init__(self, condition: CodeExpression, trueStatements: _n_0_t_1[CodeStatement]) -> CodeConditionStatement:...
    def __init__(self) -> CodeConditionStatement:...
class CodeConstructor(CodeMemberMethod):
    @property
    def BaseConstructorArgs(self) -> CodeExpressionCollection:"""BaseConstructorArgs { get; } -> CodeExpressionCollection"""
    @property
    def ChainedConstructorArgs(self) -> CodeExpressionCollection:"""ChainedConstructorArgs { get; } -> CodeExpressionCollection"""
    def __init__(self) -> CodeConstructor:...
class CodeDefaultValueExpression(CodeExpression):
    @property
    def Type(self) -> CodeTypeReference:"""Type { get; set; } -> CodeTypeReference"""
    def __init__(self, type: CodeTypeReference) -> CodeDefaultValueExpression:...
    def __init__(self) -> CodeDefaultValueExpression:...
class CodeDelegateCreateExpression(CodeExpression):
    @property
    def DelegateType(self) -> CodeTypeReference:"""DelegateType { get; set; } -> CodeTypeReference"""
    @property
    def MethodName(self) -> str:"""MethodName { get; set; } -> str"""
    @property
    def TargetObject(self) -> CodeExpression:"""TargetObject { get; set; } -> CodeExpression"""
    def __init__(self, delegateType: CodeTypeReference, targetObject: CodeExpression, methodName: str) -> CodeDelegateCreateExpression:...
    def __init__(self) -> CodeDelegateCreateExpression:...
class CodeDelegateInvokeExpression(CodeExpression):
    @property
    def Parameters(self) -> CodeExpressionCollection:"""Parameters { get; } -> CodeExpressionCollection"""
    @property
    def TargetObject(self) -> CodeExpression:"""TargetObject { get; set; } -> CodeExpression"""
    def __init__(self, targetObject: CodeExpression, parameters: _n_0_t_1[CodeExpression]) -> CodeDelegateInvokeExpression:...
    def __init__(self, targetObject: CodeExpression) -> CodeDelegateInvokeExpression:...
    def __init__(self) -> CodeDelegateInvokeExpression:...
class CodeDirectionExpression(CodeExpression):
    @property
    def Direction(self) -> FieldDirection:"""Direction { get; set; } -> FieldDirection"""
    @property
    def Expression(self) -> CodeExpression:"""Expression { get; set; } -> CodeExpression"""
    def __init__(self, direction: FieldDirection, expression: CodeExpression) -> CodeDirectionExpression:...
    def __init__(self) -> CodeDirectionExpression:...
class CodeDirective(CodeObject):
    def __init__(self) -> CodeDirective:...
class CodeDirectiveCollection(_n_1_t_0, _n_1_t_1, typing.Iterable[CodeDirective]):
    def __init__(self, value: _n_0_t_1[CodeDirective]) -> CodeDirectiveCollection:...
    def __init__(self, value: CodeDirectiveCollection) -> CodeDirectiveCollection:...
    def __init__(self) -> CodeDirectiveCollection:...
    def AddRange(self, value: CodeDirectiveCollection):...
    def AddRange(self, value: _n_0_t_1[CodeDirective]):...
class CodeEntryPointMethod(CodeMemberMethod):
    def __init__(self) -> CodeEntryPointMethod:...
class CodeEventReferenceExpression(CodeExpression):
    @property
    def EventName(self) -> str:"""EventName { get; set; } -> str"""
    @property
    def TargetObject(self) -> CodeExpression:"""TargetObject { get; set; } -> CodeExpression"""
    def __init__(self, targetObject: CodeExpression, eventName: str) -> CodeEventReferenceExpression:...
    def __init__(self) -> CodeEventReferenceExpression:...
class CodeExpression(CodeObject):
    def __init__(self) -> CodeExpression:...
class CodeExpressionCollection(_n_1_t_0, _n_1_t_1, typing.Iterable[CodeExpression]):
    def __init__(self, value: _n_0_t_1[CodeExpression]) -> CodeExpressionCollection:...
    def __init__(self, value: CodeExpressionCollection) -> CodeExpressionCollection:...
    def __init__(self) -> CodeExpressionCollection:...
    def AddRange(self, value: CodeExpressionCollection):...
    def AddRange(self, value: _n_0_t_1[CodeExpression]):...
class CodeExpressionStatement(CodeStatement):
    @property
    def Expression(self) -> CodeExpression:"""Expression { get; set; } -> CodeExpression"""
    def __init__(self, expression: CodeExpression) -> CodeExpressionStatement:...
    def __init__(self) -> CodeExpressionStatement:...
class CodeFieldReferenceExpression(CodeExpression):
    @property
    def FieldName(self) -> str:"""FieldName { get; set; } -> str"""
    @property
    def TargetObject(self) -> CodeExpression:"""TargetObject { get; set; } -> CodeExpression"""
    def __init__(self, targetObject: CodeExpression, fieldName: str) -> CodeFieldReferenceExpression:...
    def __init__(self) -> CodeFieldReferenceExpression:...
class CodeGotoStatement(CodeStatement):
    @property
    def Label(self) -> str:"""Label { get; set; } -> str"""
    def __init__(self, label: str) -> CodeGotoStatement:...
    def __init__(self) -> CodeGotoStatement:...
class CodeIndexerExpression(CodeExpression):
    @property
    def Indices(self) -> CodeExpressionCollection:"""Indices { get; } -> CodeExpressionCollection"""
    @property
    def TargetObject(self) -> CodeExpression:"""TargetObject { get; set; } -> CodeExpression"""
    def __init__(self, targetObject: CodeExpression, indices: _n_0_t_1[CodeExpression]) -> CodeIndexerExpression:...
    def __init__(self) -> CodeIndexerExpression:...
class CodeIterationStatement(CodeStatement):
    @property
    def IncrementStatement(self) -> CodeStatement:"""IncrementStatement { get; set; } -> CodeStatement"""
    @property
    def InitStatement(self) -> CodeStatement:"""InitStatement { get; set; } -> CodeStatement"""
    @property
    def Statements(self) -> CodeStatementCollection:"""Statements { get; } -> CodeStatementCollection"""
    @property
    def TestExpression(self) -> CodeExpression:"""TestExpression { get; set; } -> CodeExpression"""
    def __init__(self, initStatement: CodeStatement, testExpression: CodeExpression, incrementStatement: CodeStatement, statements: _n_0_t_1[CodeStatement]) -> CodeIterationStatement:...
    def __init__(self) -> CodeIterationStatement:...
class CodeLabeledStatement(CodeStatement):
    @property
    def Label(self) -> str:"""Label { get; set; } -> str"""
    @property
    def Statement(self) -> CodeStatement:"""Statement { get; set; } -> CodeStatement"""
    def __init__(self, label: str, statement: CodeStatement) -> CodeLabeledStatement:...
    def __init__(self, label: str) -> CodeLabeledStatement:...
    def __init__(self) -> CodeLabeledStatement:...
class CodeLinePragma(object):
    @property
    def FileName(self) -> str:"""FileName { get; set; } -> str"""
    @property
    def LineNumber(self) -> int:"""LineNumber { get; set; } -> int"""
    def __init__(self, fileName: str, lineNumber: int) -> CodeLinePragma:...
    def __init__(self) -> CodeLinePragma:...
class CodeMemberEvent(CodeTypeMember):
    @property
    def ImplementationTypes(self) -> CodeTypeReferenceCollection:"""ImplementationTypes { get; } -> CodeTypeReferenceCollection"""
    @property
    def PrivateImplementationType(self) -> CodeTypeReference:"""PrivateImplementationType { get; set; } -> CodeTypeReference"""
    @property
    def Type(self) -> CodeTypeReference:"""Type { get; set; } -> CodeTypeReference"""
    def __init__(self) -> CodeMemberEvent:...
class CodeMemberField(CodeTypeMember):
    @property
    def InitExpression(self) -> CodeExpression:"""InitExpression { get; set; } -> CodeExpression"""
    @property
    def Type(self) -> CodeTypeReference:"""Type { get; set; } -> CodeTypeReference"""
    def __init__(self, type: _n_0_t_0, name: str) -> CodeMemberField:...
    def __init__(self, type: str, name: str) -> CodeMemberField:...
    def __init__(self, type: CodeTypeReference, name: str) -> CodeMemberField:...
    def __init__(self) -> CodeMemberField:...
class CodeMemberMethod(CodeTypeMember):
    @property
    def ImplementationTypes(self) -> CodeTypeReferenceCollection:"""ImplementationTypes { get; } -> CodeTypeReferenceCollection"""
    @property
    def Parameters(self) -> CodeParameterDeclarationExpressionCollection:"""Parameters { get; } -> CodeParameterDeclarationExpressionCollection"""
    @property
    def PrivateImplementationType(self) -> CodeTypeReference:"""PrivateImplementationType { get; set; } -> CodeTypeReference"""
    @property
    def ReturnType(self) -> CodeTypeReference:"""ReturnType { get; set; } -> CodeTypeReference"""
    @property
    def ReturnTypeCustomAttributes(self) -> CodeAttributeDeclarationCollection:"""ReturnTypeCustomAttributes { get; } -> CodeAttributeDeclarationCollection"""
    @property
    def Statements(self) -> CodeStatementCollection:"""Statements { get; } -> CodeStatementCollection"""
    @property
    def TypeParameters(self) -> CodeTypeParameterCollection:"""TypeParameters { get; } -> CodeTypeParameterCollection"""
    @property
    def PopulateImplementationTypes(self) -> _n_0_t_8:
        """PopulateImplementationTypes Event: EventHandler"""
    @property
    def PopulateParameters(self) -> _n_0_t_8:
        """PopulateParameters Event: EventHandler"""
    @property
    def PopulateStatements(self) -> _n_0_t_8:
        """PopulateStatements Event: EventHandler"""
    def __init__(self) -> CodeMemberMethod:...
class CodeMemberProperty(CodeTypeMember):
    @property
    def GetStatements(self) -> CodeStatementCollection:"""GetStatements { get; } -> CodeStatementCollection"""
    @property
    def HasGet(self) -> bool:"""HasGet { get; set; } -> bool"""
    @property
    def HasSet(self) -> bool:"""HasSet { get; set; } -> bool"""
    @property
    def ImplementationTypes(self) -> CodeTypeReferenceCollection:"""ImplementationTypes { get; } -> CodeTypeReferenceCollection"""
    @property
    def Parameters(self) -> CodeParameterDeclarationExpressionCollection:"""Parameters { get; } -> CodeParameterDeclarationExpressionCollection"""
    @property
    def PrivateImplementationType(self) -> CodeTypeReference:"""PrivateImplementationType { get; set; } -> CodeTypeReference"""
    @property
    def SetStatements(self) -> CodeStatementCollection:"""SetStatements { get; } -> CodeStatementCollection"""
    @property
    def Type(self) -> CodeTypeReference:"""Type { get; set; } -> CodeTypeReference"""
    def __init__(self) -> CodeMemberProperty:...
class CodeMethodInvokeExpression(CodeExpression):
    @property
    def Method(self) -> CodeMethodReferenceExpression:"""Method { get; set; } -> CodeMethodReferenceExpression"""
    @property
    def Parameters(self) -> CodeExpressionCollection:"""Parameters { get; } -> CodeExpressionCollection"""
    def __init__(self, method: CodeMethodReferenceExpression, parameters: _n_0_t_1[CodeExpression]) -> CodeMethodInvokeExpression:...
    def __init__(self, targetObject: CodeExpression, methodName: str, parameters: _n_0_t_1[CodeExpression]) -> CodeMethodInvokeExpression:...
    def __init__(self) -> CodeMethodInvokeExpression:...
class CodeMethodReferenceExpression(CodeExpression):
    @property
    def MethodName(self) -> str:"""MethodName { get; set; } -> str"""
    @property
    def TargetObject(self) -> CodeExpression:"""TargetObject { get; set; } -> CodeExpression"""
    @property
    def TypeArguments(self) -> CodeTypeReferenceCollection:"""TypeArguments { get; } -> CodeTypeReferenceCollection"""
    def __init__(self, targetObject: CodeExpression, methodName: str, typeParameters: _n_0_t_1[CodeTypeReference]) -> CodeMethodReferenceExpression:...
    def __init__(self, targetObject: CodeExpression, methodName: str) -> CodeMethodReferenceExpression:...
    def __init__(self) -> CodeMethodReferenceExpression:...
class CodeMethodReturnStatement(CodeStatement):
    @property
    def Expression(self) -> CodeExpression:"""Expression { get; set; } -> CodeExpression"""
    def __init__(self, expression: CodeExpression) -> CodeMethodReturnStatement:...
    def __init__(self) -> CodeMethodReturnStatement:...
class CodeNamespace(CodeObject):
    @property
    def Comments(self) -> CodeCommentStatementCollection:"""Comments { get; } -> CodeCommentStatementCollection"""
    @property
    def Imports(self) -> CodeNamespaceImportCollection:"""Imports { get; } -> CodeNamespaceImportCollection"""
    @property
    def Name(self) -> str:"""Name { get; set; } -> str"""
    @property
    def Types(self) -> CodeTypeDeclarationCollection:"""Types { get; } -> CodeTypeDeclarationCollection"""
    @property
    def PopulateComments(self) -> _n_0_t_8:
        """PopulateComments Event: EventHandler"""
    @property
    def PopulateImports(self) -> _n_0_t_8:
        """PopulateImports Event: EventHandler"""
    @property
    def PopulateTypes(self) -> _n_0_t_8:
        """PopulateTypes Event: EventHandler"""
    def __init__(self) -> CodeNamespace:...
    def __init__(self, name: str) -> CodeNamespace:...
class CodeNamespaceCollection(_n_1_t_0, _n_1_t_1, typing.Iterable[CodeNamespace]):
    def __init__(self, value: _n_0_t_1[CodeNamespace]) -> CodeNamespaceCollection:...
    def __init__(self, value: CodeNamespaceCollection) -> CodeNamespaceCollection:...
    def __init__(self) -> CodeNamespaceCollection:...
    def AddRange(self, value: CodeNamespaceCollection):...
    def AddRange(self, value: _n_0_t_1[CodeNamespace]):...
class CodeNamespaceImport(CodeObject):
    @property
    def LinePragma(self) -> CodeLinePragma:"""LinePragma { get; set; } -> CodeLinePragma"""
    @property
    def Namespace(self) -> str:"""Namespace { get; set; } -> str"""
    def __init__(self) -> CodeNamespaceImport:...
    def __init__(self, nameSpace: str) -> CodeNamespaceImport:...
class CodeNamespaceImportCollection(_n_1_t_1, typing.Iterable[CodeNamespaceImport]):
    def __init__(self) -> CodeNamespaceImportCollection:...
    def AddRange(self, value: _n_0_t_1[CodeNamespaceImport]):...
class CodeObject(object):
    @property
    def UserData(self) -> _n_1_t_2:"""UserData { get; } -> IDictionary"""
    def __init__(self) -> CodeObject:...
class CodeObjectCreateExpression(CodeExpression):
    @property
    def CreateType(self) -> CodeTypeReference:"""CreateType { get; set; } -> CodeTypeReference"""
    @property
    def Parameters(self) -> CodeExpressionCollection:"""Parameters { get; } -> CodeExpressionCollection"""
    def __init__(self, createType: _n_0_t_0, parameters: _n_0_t_1[CodeExpression]) -> CodeObjectCreateExpression:...
    def __init__(self, createType: CodeTypeReference, parameters: _n_0_t_1[CodeExpression]) -> CodeObjectCreateExpression:...
    def __init__(self) -> CodeObjectCreateExpression:...
    def __init__(self, createType: str, parameters: _n_0_t_1[CodeExpression]) -> CodeObjectCreateExpression:...
class CodeParameterDeclarationExpression(CodeExpression):
    @property
    def CustomAttributes(self) -> CodeAttributeDeclarationCollection:"""CustomAttributes { get; set; } -> CodeAttributeDeclarationCollection"""
    @property
    def Direction(self) -> FieldDirection:"""Direction { get; set; } -> FieldDirection"""
    @property
    def Name(self) -> str:"""Name { get; set; } -> str"""
    @property
    def Type(self) -> CodeTypeReference:"""Type { get; set; } -> CodeTypeReference"""
    def __init__(self, type: _n_0_t_0, name: str) -> CodeParameterDeclarationExpression:...
    def __init__(self, type: str, name: str) -> CodeParameterDeclarationExpression:...
    def __init__(self, type: CodeTypeReference, name: str) -> CodeParameterDeclarationExpression:...
    def __init__(self) -> CodeParameterDeclarationExpression:...
class CodeParameterDeclarationExpressionCollection(_n_1_t_0, _n_1_t_1, typing.Iterable[CodeParameterDeclarationExpression]):
    def __init__(self, value: _n_0_t_1[CodeParameterDeclarationExpression]) -> CodeParameterDeclarationExpressionCollection:...
    def __init__(self, value: CodeParameterDeclarationExpressionCollection) -> CodeParameterDeclarationExpressionCollection:...
    def __init__(self) -> CodeParameterDeclarationExpressionCollection:...
    def AddRange(self, value: CodeParameterDeclarationExpressionCollection):...
    def AddRange(self, value: _n_0_t_1[CodeParameterDeclarationExpression]):...
class CodePrimitiveExpression(CodeExpression):
    @property
    def Value(self) -> object:"""Value { get; set; } -> object"""
    def __init__(self, value: object) -> CodePrimitiveExpression:...
    def __init__(self) -> CodePrimitiveExpression:...
class CodePropertyReferenceExpression(CodeExpression):
    @property
    def PropertyName(self) -> str:"""PropertyName { get; set; } -> str"""
    @property
    def TargetObject(self) -> CodeExpression:"""TargetObject { get; set; } -> CodeExpression"""
    def __init__(self) -> CodePropertyReferenceExpression:...
    def __init__(self, targetObject: CodeExpression, propertyName: str) -> CodePropertyReferenceExpression:...
class CodePropertySetValueReferenceExpression(CodeExpression):
    def __init__(self) -> CodePropertySetValueReferenceExpression:...
class CodeRegionDirective(CodeDirective):
    @property
    def RegionMode(self) -> CodeRegionMode:"""RegionMode { get; set; } -> CodeRegionMode"""
    @property
    def RegionText(self) -> str:"""RegionText { get; set; } -> str"""
    def __init__(self, regionMode: CodeRegionMode, regionText: str) -> CodeRegionDirective:...
    def __init__(self) -> CodeRegionDirective:...
class CodeRegionMode(_n_0_t_2, _n_0_t_3, _n_0_t_4, _n_0_t_5):
    End: int
    _None: int
    Start: int
    value__: int
class CodeRemoveEventStatement(CodeStatement):
    @property
    def Event(self) -> CodeEventReferenceExpression:"""Event { get; set; } -> CodeEventReferenceExpression"""
    @property
    def Listener(self) -> CodeExpression:"""Listener { get; set; } -> CodeExpression"""
    def __init__(self, targetObject: CodeExpression, eventName: str, listener: CodeExpression) -> CodeRemoveEventStatement:...
    def __init__(self, eventRef: CodeEventReferenceExpression, listener: CodeExpression) -> CodeRemoveEventStatement:...
    def __init__(self) -> CodeRemoveEventStatement:...
class CodeSnippetCompileUnit(CodeCompileUnit):
    @property
    def LinePragma(self) -> CodeLinePragma:"""LinePragma { get; set; } -> CodeLinePragma"""
    @property
    def Value(self) -> str:"""Value { get; set; } -> str"""
    def __init__(self, value: str) -> CodeSnippetCompileUnit:...
    def __init__(self) -> CodeSnippetCompileUnit:...
class CodeSnippetExpression(CodeExpression):
    @property
    def Value(self) -> str:"""Value { get; set; } -> str"""
    def __init__(self, value: str) -> CodeSnippetExpression:...
    def __init__(self) -> CodeSnippetExpression:...
class CodeSnippetStatement(CodeStatement):
    @property
    def Value(self) -> str:"""Value { get; set; } -> str"""
    def __init__(self, value: str) -> CodeSnippetStatement:...
    def __init__(self) -> CodeSnippetStatement:...
class CodeSnippetTypeMember(CodeTypeMember):
    @property
    def Text(self) -> str:"""Text { get; set; } -> str"""
    def __init__(self, text: str) -> CodeSnippetTypeMember:...
    def __init__(self) -> CodeSnippetTypeMember:...
class CodeStatement(CodeObject):
    @property
    def EndDirectives(self) -> CodeDirectiveCollection:"""EndDirectives { get; } -> CodeDirectiveCollection"""
    @property
    def LinePragma(self) -> CodeLinePragma:"""LinePragma { get; set; } -> CodeLinePragma"""
    @property
    def StartDirectives(self) -> CodeDirectiveCollection:"""StartDirectives { get; } -> CodeDirectiveCollection"""
    def __init__(self) -> CodeStatement:...
class CodeStatementCollection(_n_1_t_0, _n_1_t_1, typing.Iterable[CodeStatement]):
    def __init__(self, value: _n_0_t_1[CodeStatement]) -> CodeStatementCollection:...
    def __init__(self, value: CodeStatementCollection) -> CodeStatementCollection:...
    def __init__(self) -> CodeStatementCollection:...
    def AddRange(self, value: CodeStatementCollection):...
    def AddRange(self, value: _n_0_t_1[CodeStatement]):...
class CodeThisReferenceExpression(CodeExpression):
    def __init__(self) -> CodeThisReferenceExpression:...
class CodeThrowExceptionStatement(CodeStatement):
    @property
    def ToThrow(self) -> CodeExpression:"""ToThrow { get; set; } -> CodeExpression"""
    def __init__(self, toThrow: CodeExpression) -> CodeThrowExceptionStatement:...
    def __init__(self) -> CodeThrowExceptionStatement:...
class CodeTryCatchFinallyStatement(CodeStatement):
    @property
    def CatchClauses(self) -> CodeCatchClauseCollection:"""CatchClauses { get; } -> CodeCatchClauseCollection"""
    @property
    def FinallyStatements(self) -> CodeStatementCollection:"""FinallyStatements { get; } -> CodeStatementCollection"""
    @property
    def TryStatements(self) -> CodeStatementCollection:"""TryStatements { get; } -> CodeStatementCollection"""
    def __init__(self, tryStatements: _n_0_t_1[CodeStatement], catchClauses: _n_0_t_1[CodeCatchClause], finallyStatements: _n_0_t_1[CodeStatement]) -> CodeTryCatchFinallyStatement:...
    def __init__(self, tryStatements: _n_0_t_1[CodeStatement], catchClauses: _n_0_t_1[CodeCatchClause]) -> CodeTryCatchFinallyStatement:...
    def __init__(self) -> CodeTryCatchFinallyStatement:...
class CodeTypeConstructor(CodeMemberMethod):
    def __init__(self) -> CodeTypeConstructor:...
class CodeTypeDeclaration(CodeTypeMember):
    @property
    def BaseTypes(self) -> CodeTypeReferenceCollection:"""BaseTypes { get; } -> CodeTypeReferenceCollection"""
    @property
    def IsClass(self) -> bool:"""IsClass { get; set; } -> bool"""
    @property
    def IsEnum(self) -> bool:"""IsEnum { get; set; } -> bool"""
    @property
    def IsInterface(self) -> bool:"""IsInterface { get; set; } -> bool"""
    @property
    def IsPartial(self) -> bool:"""IsPartial { get; set; } -> bool"""
    @property
    def IsStruct(self) -> bool:"""IsStruct { get; set; } -> bool"""
    @property
    def Members(self) -> CodeTypeMemberCollection:"""Members { get; } -> CodeTypeMemberCollection"""
    @property
    def TypeAttributes(self) -> _n_3_t_0:"""TypeAttributes { get; set; } -> TypeAttributes"""
    @property
    def TypeParameters(self) -> CodeTypeParameterCollection:"""TypeParameters { get; } -> CodeTypeParameterCollection"""
    @property
    def PopulateBaseTypes(self) -> _n_0_t_8:
        """PopulateBaseTypes Event: EventHandler"""
    @property
    def PopulateMembers(self) -> _n_0_t_8:
        """PopulateMembers Event: EventHandler"""
    def __init__(self) -> CodeTypeDeclaration:...
    def __init__(self, name: str) -> CodeTypeDeclaration:...
class CodeTypeDeclarationCollection(_n_1_t_0, _n_1_t_1, typing.Iterable[CodeTypeDeclaration]):
    def __init__(self, value: _n_0_t_1[CodeTypeDeclaration]) -> CodeTypeDeclarationCollection:...
    def __init__(self, value: CodeTypeDeclarationCollection) -> CodeTypeDeclarationCollection:...
    def __init__(self) -> CodeTypeDeclarationCollection:...
    def AddRange(self, value: CodeTypeDeclarationCollection):...
    def AddRange(self, value: _n_0_t_1[CodeTypeDeclaration]):...
class CodeTypeDelegate(CodeTypeDeclaration):
    @property
    def Parameters(self) -> CodeParameterDeclarationExpressionCollection:"""Parameters { get; } -> CodeParameterDeclarationExpressionCollection"""
    @property
    def ReturnType(self) -> CodeTypeReference:"""ReturnType { get; set; } -> CodeTypeReference"""
    def __init__(self, name: str) -> CodeTypeDelegate:...
    def __init__(self) -> CodeTypeDelegate:...
class CodeTypeMember(CodeObject):
    @property
    def Attributes(self) -> MemberAttributes:"""Attributes { get; set; } -> MemberAttributes"""
    @property
    def Comments(self) -> CodeCommentStatementCollection:"""Comments { get; } -> CodeCommentStatementCollection"""
    @property
    def CustomAttributes(self) -> CodeAttributeDeclarationCollection:"""CustomAttributes { get; set; } -> CodeAttributeDeclarationCollection"""
    @property
    def EndDirectives(self) -> CodeDirectiveCollection:"""EndDirectives { get; } -> CodeDirectiveCollection"""
    @property
    def LinePragma(self) -> CodeLinePragma:"""LinePragma { get; set; } -> CodeLinePragma"""
    @property
    def Name(self) -> str:"""Name { get; set; } -> str"""
    @property
    def StartDirectives(self) -> CodeDirectiveCollection:"""StartDirectives { get; } -> CodeDirectiveCollection"""
    def __init__(self) -> CodeTypeMember:...
class CodeTypeMemberCollection(_n_1_t_0, _n_1_t_1, typing.Iterable[CodeTypeMember]):
    def __init__(self, value: _n_0_t_1[CodeTypeMember]) -> CodeTypeMemberCollection:...
    def __init__(self, value: CodeTypeMemberCollection) -> CodeTypeMemberCollection:...
    def __init__(self) -> CodeTypeMemberCollection:...
    def AddRange(self, value: CodeTypeMemberCollection):...
    def AddRange(self, value: _n_0_t_1[CodeTypeMember]):...
class CodeTypeOfExpression(CodeExpression):
    @property
    def Type(self) -> CodeTypeReference:"""Type { get; set; } -> CodeTypeReference"""
    def __init__(self, type: _n_0_t_0) -> CodeTypeOfExpression:...
    def __init__(self, type: str) -> CodeTypeOfExpression:...
    def __init__(self, type: CodeTypeReference) -> CodeTypeOfExpression:...
    def __init__(self) -> CodeTypeOfExpression:...
class CodeTypeParameter(CodeObject):
    @property
    def Constraints(self) -> CodeTypeReferenceCollection:"""Constraints { get; } -> CodeTypeReferenceCollection"""
    @property
    def CustomAttributes(self) -> CodeAttributeDeclarationCollection:"""CustomAttributes { get; } -> CodeAttributeDeclarationCollection"""
    @property
    def HasConstructorConstraint(self) -> bool:"""HasConstructorConstraint { get; set; } -> bool"""
    @property
    def Name(self) -> str:"""Name { get; set; } -> str"""
    def __init__(self, name: str) -> CodeTypeParameter:...
    def __init__(self) -> CodeTypeParameter:...
class CodeTypeParameterCollection(_n_1_t_0, _n_1_t_1, typing.Iterable[CodeTypeParameter]):
    def __init__(self, value: _n_0_t_1[CodeTypeParameter]) -> CodeTypeParameterCollection:...
    def __init__(self, value: CodeTypeParameterCollection) -> CodeTypeParameterCollection:...
    def __init__(self) -> CodeTypeParameterCollection:...
    def AddRange(self, value: CodeTypeParameterCollection):...
    def AddRange(self, value: _n_0_t_1[CodeTypeParameter]):...
class CodeTypeReference(CodeObject):
    @property
    def ArrayElementType(self) -> CodeTypeReference:"""ArrayElementType { get; set; } -> CodeTypeReference"""
    @property
    def ArrayRank(self) -> int:"""ArrayRank { get; set; } -> int"""
    @property
    def BaseType(self) -> str:"""BaseType { get; set; } -> str"""
    @property
    def Options(self) -> CodeTypeReferenceOptions:"""Options { get; set; } -> CodeTypeReferenceOptions"""
    @property
    def TypeArguments(self) -> CodeTypeReferenceCollection:"""TypeArguments { get; } -> CodeTypeReferenceCollection"""
    def __init__(self, arrayType: CodeTypeReference, rank: int) -> CodeTypeReference:...
    def __init__(self, baseType: str, rank: int) -> CodeTypeReference:...
    def __init__(self, typeParameter: CodeTypeParameter) -> CodeTypeReference:...
    def __init__(self, typeName: str, typeArguments: _n_0_t_1[CodeTypeReference]) -> CodeTypeReference:...
    def __init__(self, typeName: str) -> CodeTypeReference:...
    def __init__(self, typeName: str, codeTypeReferenceOption: CodeTypeReferenceOptions) -> CodeTypeReference:...
    def __init__(self, type: _n_0_t_0, codeTypeReferenceOption: CodeTypeReferenceOptions) -> CodeTypeReference:...
    def __init__(self) -> CodeTypeReference:...
    def __init__(self, type: _n_0_t_0) -> CodeTypeReference:...
class CodeTypeReferenceCollection(_n_1_t_0, _n_1_t_1, typing.Iterable[CodeTypeReference]):
    def __init__(self, value: _n_0_t_1[CodeTypeReference]) -> CodeTypeReferenceCollection:...
    def __init__(self, value: CodeTypeReferenceCollection) -> CodeTypeReferenceCollection:...
    def __init__(self) -> CodeTypeReferenceCollection:...
    def AddRange(self, value: CodeTypeReferenceCollection):...
    def AddRange(self, value: _n_0_t_1[CodeTypeReference]):...
class CodeTypeReferenceExpression(CodeExpression):
    @property
    def Type(self) -> CodeTypeReference:"""Type { get; set; } -> CodeTypeReference"""
    def __init__(self, type: _n_0_t_0) -> CodeTypeReferenceExpression:...
    def __init__(self, type: str) -> CodeTypeReferenceExpression:...
    def __init__(self, type: CodeTypeReference) -> CodeTypeReferenceExpression:...
    def __init__(self) -> CodeTypeReferenceExpression:...
class CodeTypeReferenceOptions(_n_0_t_2, _n_0_t_3, _n_0_t_4, _n_0_t_5):
    GenericTypeParameter: int
    GlobalReference: int
    value__: int
class CodeVariableDeclarationStatement(CodeStatement):
    @property
    def InitExpression(self) -> CodeExpression:"""InitExpression { get; set; } -> CodeExpression"""
    @property
    def Name(self) -> str:"""Name { get; set; } -> str"""
    @property
    def Type(self) -> CodeTypeReference:"""Type { get; set; } -> CodeTypeReference"""
    def __init__(self, type: _n_0_t_0, name: str, initExpression: CodeExpression) -> CodeVariableDeclarationStatement:...
    def __init__(self, type: str, name: str, initExpression: CodeExpression) -> CodeVariableDeclarationStatement:...
    def __init__(self, type: CodeTypeReference, name: str, initExpression: CodeExpression) -> CodeVariableDeclarationStatement:...
    def __init__(self, type: _n_0_t_0, name: str) -> CodeVariableDeclarationStatement:...
    def __init__(self, type: str, name: str) -> CodeVariableDeclarationStatement:...
    def __init__(self, type: CodeTypeReference, name: str) -> CodeVariableDeclarationStatement:...
    def __init__(self) -> CodeVariableDeclarationStatement:...
class CodeVariableReferenceExpression(CodeExpression):
    @property
    def VariableName(self) -> str:"""VariableName { get; set; } -> str"""
    def __init__(self, variableName: str) -> CodeVariableReferenceExpression:...
    def __init__(self) -> CodeVariableReferenceExpression:...
class FieldDirection(_n_0_t_2, _n_0_t_3, _n_0_t_4, _n_0_t_5):
    In: int
    Out: int
    Ref: int
    value__: int
class MemberAttributes(_n_0_t_2, _n_0_t_3, _n_0_t_4, _n_0_t_5):
    Abstract: int
    AccessMask: int
    Assembly: int
    Const: int
    Family: int
    FamilyAndAssembly: int
    FamilyOrAssembly: int
    Final: int
    New: int
    Overloaded: int
    Override: int
    Private: int
    Public: int
    ScopeMask: int
    Static: int
    value__: int
    VTableMask: int
